﻿using System;
using System.ComponentModel;
using System.Runtime.InteropServices;
using Teigha.Core;

namespace Teigha.TD
{
	public class OdDbAbstractViewTableRecord : OdDbSymbolTableRecord
	{
		[EditorBrowsable(EditorBrowsableState.Never)]
		public OdDbAbstractViewTableRecord(IntPtr cPtr, bool cMemoryOwn) : base(TD_DbPINVOKE.OdDbAbstractViewTableRecord_SWIGUpcast(cPtr), cMemoryOwn)
		{
			this.swigCPtr = new HandleRef(this, cPtr);
		}

		[EditorBrowsable(EditorBrowsableState.Never)]
		public static HandleRef getCPtr(OdDbAbstractViewTableRecord obj)
		{
			if (obj != null)
			{
				return obj.swigCPtr;
			}
			return new HandleRef(null, IntPtr.Zero);
		}

		~OdDbAbstractViewTableRecord()
		{
			this.Dispose();
		}

		public override void Dispose()
		{
			if (this.swigCPtr.Handle != IntPtr.Zero)
			{
				if (this.swigCMemOwn)
				{
					lock (this.locker)
					{
						if (this.swigCPtr.Handle != IntPtr.Zero && this.swigCMemOwn)
						{
							this.swigCMemOwn = false;
							TD_DbPINVOKE.delete_OdDbAbstractViewTableRecord(this.swigCPtr);
						}
					}
					this.swigCMemOwn = false;
				}
				this.swigCPtr = new HandleRef(null, IntPtr.Zero);
			}
			GC.SuppressFinalize(this);
			base.Dispose();
		}

		public new static OdDbAbstractViewTableRecord cast(OdRxObject pObj)
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr p = TD_DbPINVOKE.OdDbAbstractViewTableRecord_cast(OdRxObject.getCPtr(pObj));
			OdDbAbstractViewTableRecord result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject((OdDbAbstractViewTableRecord)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true));
				result = (OdDbAbstractViewTableRecord)Teigha.Core.Helpers.odrxCreateObjectInternal(p, false);
			}
			else
			{
				result = (OdDbAbstractViewTableRecord)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new static OdRxClass desc()
		{
			OdRxClass result = (OdRxClass)Teigha.Core.Helpers.odrxCreateObjectInternal(TD_DbPINVOKE.OdDbAbstractViewTableRecord_desc(), false);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual OdRxClass isA()
		{
			OdRxClass result = (OdRxClass)Teigha.Core.Helpers.odrxCreateObjectInternal(TD_DbPINVOKE.OdDbAbstractViewTableRecord_isA(this.swigCPtr), false);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual OdRxObject queryX(OdRxClass protocolClass)
		{
			OdRxObject result = Teigha.Core.Helpers.odrxCreateObjectInternal(TD_DbPINVOKE.OdDbAbstractViewTableRecord_queryX(this.swigCPtr, OdRxClass.getCPtr(protocolClass)), false);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new static OdDbAbstractViewTableRecord createObject()
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr p = TD_DbPINVOKE.OdDbAbstractViewTableRecord_createObject();
			OdDbAbstractViewTableRecord result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject((OdDbAbstractViewTableRecord)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true));
				result = (OdDbAbstractViewTableRecord)Teigha.Core.Helpers.odrxCreateObjectInternal(p, false);
			}
			else
			{
				result = (OdDbAbstractViewTableRecord)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdGePoint2d centerPoint()
		{
			OdGePoint2d result = new OdGePoint2d(TD_DbPINVOKE.OdDbAbstractViewTableRecord_centerPoint(this.swigCPtr), true);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setCenterPoint(OdGePoint2d centerPoint)
		{
			TD_DbPINVOKE.OdDbAbstractViewTableRecord_setCenterPoint(this.swigCPtr, OdGePoint2d.getCPtr(centerPoint));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public double height()
		{
			double result = TD_DbPINVOKE.OdDbAbstractViewTableRecord_height(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setHeight(double height)
		{
			TD_DbPINVOKE.OdDbAbstractViewTableRecord_setHeight(this.swigCPtr, height);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public double width()
		{
			double result = TD_DbPINVOKE.OdDbAbstractViewTableRecord_width(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setWidth(double width)
		{
			TD_DbPINVOKE.OdDbAbstractViewTableRecord_setWidth(this.swigCPtr, width);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public OdGePoint3d target()
		{
			OdGePoint3d result = new OdGePoint3d(TD_DbPINVOKE.OdDbAbstractViewTableRecord_target(this.swigCPtr), true);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setTarget(OdGePoint3d target)
		{
			TD_DbPINVOKE.OdDbAbstractViewTableRecord_setTarget(this.swigCPtr, OdGePoint3d.getCPtr(target));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public OdGeVector3d viewDirection()
		{
			OdGeVector3d result = new OdGeVector3d(TD_DbPINVOKE.OdDbAbstractViewTableRecord_viewDirection(this.swigCPtr), true);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setViewDirection(OdGeVector3d viewDirection)
		{
			TD_DbPINVOKE.OdDbAbstractViewTableRecord_setViewDirection(this.swigCPtr, OdGeVector3d.getCPtr(viewDirection));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public double viewTwist()
		{
			double result = TD_DbPINVOKE.OdDbAbstractViewTableRecord_viewTwist(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setViewTwist(double viewTwist)
		{
			TD_DbPINVOKE.OdDbAbstractViewTableRecord_setViewTwist(this.swigCPtr, viewTwist);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public double lensLength()
		{
			double result = TD_DbPINVOKE.OdDbAbstractViewTableRecord_lensLength(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setLensLength(double lensLength)
		{
			TD_DbPINVOKE.OdDbAbstractViewTableRecord_setLensLength(this.swigCPtr, lensLength);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public double frontClipDistance()
		{
			double result = TD_DbPINVOKE.OdDbAbstractViewTableRecord_frontClipDistance(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setFrontClipDistance(double frontClipDistance)
		{
			TD_DbPINVOKE.OdDbAbstractViewTableRecord_setFrontClipDistance(this.swigCPtr, frontClipDistance);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public double backClipDistance()
		{
			double result = TD_DbPINVOKE.OdDbAbstractViewTableRecord_backClipDistance(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setBackClipDistance(double backClipDistance)
		{
			TD_DbPINVOKE.OdDbAbstractViewTableRecord_setBackClipDistance(this.swigCPtr, backClipDistance);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public bool perspectiveEnabled()
		{
			bool result = TD_DbPINVOKE.OdDbAbstractViewTableRecord_perspectiveEnabled(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setPerspectiveEnabled(bool perspectiveEnabled)
		{
			TD_DbPINVOKE.OdDbAbstractViewTableRecord_setPerspectiveEnabled(this.swigCPtr, perspectiveEnabled);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public bool frontClipEnabled()
		{
			bool result = TD_DbPINVOKE.OdDbAbstractViewTableRecord_frontClipEnabled(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setFrontClipEnabled(bool frontClipEnabled)
		{
			TD_DbPINVOKE.OdDbAbstractViewTableRecord_setFrontClipEnabled(this.swigCPtr, frontClipEnabled);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public bool backClipEnabled()
		{
			bool result = TD_DbPINVOKE.OdDbAbstractViewTableRecord_backClipEnabled(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setBackClipEnabled(bool backClipEnabled)
		{
			TD_DbPINVOKE.OdDbAbstractViewTableRecord_setBackClipEnabled(this.swigCPtr, backClipEnabled);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public bool frontClipAtEye()
		{
			bool result = TD_DbPINVOKE.OdDbAbstractViewTableRecord_frontClipAtEye(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setFrontClipAtEye(bool atEye)
		{
			TD_DbPINVOKE.OdDbAbstractViewTableRecord_setFrontClipAtEye(this.swigCPtr, atEye);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public void setRenderMode(RenderMode renderMode)
		{
			TD_DbPINVOKE.OdDbAbstractViewTableRecord_setRenderMode(this.swigCPtr, (int)renderMode);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public RenderMode renderMode()
		{
			RenderMode result = (RenderMode)TD_DbPINVOKE.OdDbAbstractViewTableRecord_renderMode(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void getUcs(OdGePoint3d origin, OdGeVector3d xAxis, OdGeVector3d yAxis)
		{
			TD_DbPINVOKE.OdDbAbstractViewTableRecord_getUcs(this.swigCPtr, OdGePoint3d.getCPtr(origin), OdGeVector3d.getCPtr(xAxis), OdGeVector3d.getCPtr(yAxis));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public bool isUcsOrthographic(out OrthographicView orthoUcs, OdDbDatabase pDb)
		{
			bool result = TD_DbPINVOKE.OdDbAbstractViewTableRecord_isUcsOrthographic__SWIG_0(this.swigCPtr, out orthoUcs, OdDbDatabase.getCPtr(pDb));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public bool isUcsOrthographic(out OrthographicView orthoUcs)
		{
			bool result = TD_DbPINVOKE.OdDbAbstractViewTableRecord_isUcsOrthographic__SWIG_1(this.swigCPtr, out orthoUcs);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdDbObjectId ucsName()
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr cPtr = TD_DbPINVOKE.OdDbAbstractViewTableRecord_ucsName(this.swigCPtr);
			OdDbObjectId result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject(new OdDbObjectId(cPtr, true));
				result = new OdDbObjectId(cPtr, false);
			}
			else
			{
				result = new OdDbObjectId(cPtr, true);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public double elevation()
		{
			double result = TD_DbPINVOKE.OdDbAbstractViewTableRecord_elevation(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setUcs(OdGePoint3d origin, OdGeVector3d xAxis, OdGeVector3d yAxis)
		{
			TD_DbPINVOKE.OdDbAbstractViewTableRecord_setUcs__SWIG_0(this.swigCPtr, OdGePoint3d.getCPtr(origin), OdGeVector3d.getCPtr(xAxis), OdGeVector3d.getCPtr(yAxis));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public void setUcs(OrthographicView orthoUcs, OdDbDatabase pDb)
		{
			TD_DbPINVOKE.OdDbAbstractViewTableRecord_setUcs__SWIG_1(this.swigCPtr, (int)orthoUcs, OdDbDatabase.getCPtr(pDb));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public void setUcs(OrthographicView orthoUcs)
		{
			TD_DbPINVOKE.OdDbAbstractViewTableRecord_setUcs__SWIG_2(this.swigCPtr, (int)orthoUcs);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public void setUcs(OdDbObjectId ucsId)
		{
			TD_DbPINVOKE.OdDbAbstractViewTableRecord_setUcs__SWIG_3(this.swigCPtr, OdDbObjectId.getCPtr(ucsId));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public void setUcsToWorld()
		{
			TD_DbPINVOKE.OdDbAbstractViewTableRecord_setUcsToWorld(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public void setElevation(double elevation)
		{
			TD_DbPINVOKE.OdDbAbstractViewTableRecord_setElevation(this.swigCPtr, elevation);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public OdDbObjectId background()
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr cPtr = TD_DbPINVOKE.OdDbAbstractViewTableRecord_background(this.swigCPtr);
			OdDbObjectId result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject(new OdDbObjectId(cPtr, true));
				result = new OdDbObjectId(cPtr, false);
			}
			else
			{
				result = new OdDbObjectId(cPtr, true);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setBackground(OdDbObjectId background)
		{
			TD_DbPINVOKE.OdDbAbstractViewTableRecord_setBackground(this.swigCPtr, OdDbObjectId.getCPtr(background));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public OdDbObjectId visualStyle()
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr cPtr = TD_DbPINVOKE.OdDbAbstractViewTableRecord_visualStyle(this.swigCPtr);
			OdDbObjectId result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject(new OdDbObjectId(cPtr, true));
				result = new OdDbObjectId(cPtr, false);
			}
			else
			{
				result = new OdDbObjectId(cPtr, true);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setVisualStyle(OdDbObjectId visualStyle)
		{
			TD_DbPINVOKE.OdDbAbstractViewTableRecord_setVisualStyle(this.swigCPtr, OdDbObjectId.getCPtr(visualStyle));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public bool isDefaultLightingOn()
		{
			bool result = TD_DbPINVOKE.OdDbAbstractViewTableRecord_isDefaultLightingOn(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setDefaultLightingOn(bool isOn)
		{
			TD_DbPINVOKE.OdDbAbstractViewTableRecord_setDefaultLightingOn(this.swigCPtr, isOn);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public OdGiViewportTraits.DefaultLightingType defaultLightingType()
		{
			OdGiViewportTraits.DefaultLightingType result = (OdGiViewportTraits.DefaultLightingType)TD_DbPINVOKE.OdDbAbstractViewTableRecord_defaultLightingType(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setDefaultLightingType(OdGiViewportTraits.DefaultLightingType lightingType)
		{
			TD_DbPINVOKE.OdDbAbstractViewTableRecord_setDefaultLightingType(this.swigCPtr, (int)lightingType);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public double brightness()
		{
			double result = TD_DbPINVOKE.OdDbAbstractViewTableRecord_brightness(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setBrightness(double brightness)
		{
			TD_DbPINVOKE.OdDbAbstractViewTableRecord_setBrightness(this.swigCPtr, brightness);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public double contrast()
		{
			double result = TD_DbPINVOKE.OdDbAbstractViewTableRecord_contrast(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setContrast(double contrast)
		{
			TD_DbPINVOKE.OdDbAbstractViewTableRecord_setContrast(this.swigCPtr, contrast);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public OdCmColor ambientLightColor()
		{
			OdCmColor result = new OdCmColor(TD_DbPINVOKE.OdDbAbstractViewTableRecord_ambientLightColor(this.swigCPtr), true);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setAmbientLightColor(OdCmColor color)
		{
			TD_DbPINVOKE.OdDbAbstractViewTableRecord_setAmbientLightColor(this.swigCPtr, OdCmColor.getCPtr(color));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public OdDbObjectId sunId()
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr cPtr = TD_DbPINVOKE.OdDbAbstractViewTableRecord_sunId(this.swigCPtr);
			OdDbObjectId result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject(new OdDbObjectId(cPtr, true));
				result = new OdDbObjectId(cPtr, false);
			}
			else
			{
				result = new OdDbObjectId(cPtr, true);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdDbObjectId setSun(OdDbSun pSun)
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr cPtr = TD_DbPINVOKE.OdDbAbstractViewTableRecord_setSun(this.swigCPtr, OdDbSun.getCPtr(pSun));
			OdDbObjectId result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject(new OdDbObjectId(cPtr, true));
				result = new OdDbObjectId(cPtr, false);
			}
			else
			{
				result = new OdDbObjectId(cPtr, true);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void toneOperatorParameters(OdGiToneOperatorParameters arg0)
		{
			TD_DbPINVOKE.OdDbAbstractViewTableRecord_toneOperatorParameters(this.swigCPtr, OdGiToneOperatorParameters.getCPtr(arg0));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public void setToneOperatorParameters(OdGiToneOperatorParameters arg0)
		{
			TD_DbPINVOKE.OdDbAbstractViewTableRecord_setToneOperatorParameters(this.swigCPtr, OdGiToneOperatorParameters.getCPtr(arg0));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public new virtual OdResult dwgInFields(OdDbDwgFiler pFiler)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbAbstractViewTableRecord_dwgInFields(this.swigCPtr, OdDbDwgFiler.getCPtr(pFiler));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual void dwgOutFields(OdDbDwgFiler pFiler)
		{
			TD_DbPINVOKE.OdDbAbstractViewTableRecord_dwgOutFields(this.swigCPtr, OdDbDwgFiler.getCPtr(pFiler));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public new virtual void copyFrom(OdRxObject pSource)
		{
			TD_DbPINVOKE.OdDbAbstractViewTableRecord_copyFrom(this.swigCPtr, OdRxObject.getCPtr(pSource));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public new virtual OdGiDrawable drawable()
		{
			OdGiDrawable result = (OdGiDrawable)Teigha.Core.Helpers.odrxCreateObjectInternal(TD_DbPINVOKE.OdDbAbstractViewTableRecord_drawable(this.swigCPtr), false);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual uint subSetAttributes(OdGiDrawableTraits pTraits)
		{
			uint result = TD_DbPINVOKE.OdDbAbstractViewTableRecord_subSetAttributes(this.swigCPtr, OdGiDrawableTraits.getCPtr(pTraits));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		private object locker = new object();

		private HandleRef swigCPtr;
	}
}
